/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package trial.request;

/**
 *
 * @author feifei
 */
import java.sql.Time;
import java.util.List;
import javax.ejb.Remote;

import trial.entity.Customer;
import trial.entity.Item;
import trial.entity.OrderSet;
import trial.entity.Sell;
import trial.entity.Sell_Auction;
import trial.entity.Sell_FixedPrice;
import trial.entity.Shop;
import trial.entity.SingleOrder;

@Remote
public interface Request {
    
    Long createSell_FixedPrice(Long shop,Long item,Long price,Long storage);
    void updateSell_FixedPrice(Long sellId, Long price,Long storage);
    List<Sell_FixedPrice> showAllSells_FixedPrice();
    /**
    void createSell_Auction(Shop shop, Item item, Time startTime,Time endTime, Long biddingStep, Long biddingBase);
    void updateSell_Auction(Sell_Auction sell_auction, Time startTime,Time endTime,Long biddingStep, Long biddingBase);
    */
    Long createItem(String name);
    void deleteItem(Item item);
    void updateItem(Item item, String newname);
    void updateItem(Long item,String newname);
    List<Item> showAllItems();
    
    Long createCustomer(String name,String country, String zipcode,String bankaccount,String email,String password);
    Boolean identifyCustomer(String email,String password);
    void updateCustomer(Customer customer,String name,String country, String zipcode);
    void deleteCustomer(Long id);
    List<Customer> showAllCustomer();
        
    Long createShop(Long owner,String shopName,String shopDescription);
    void deleteShop(Shop shop);
    void updateShop(Shop shop, String shopDescription);
    
    Long createOrder(Long ordersetId,Long sell,Long quantity);
    void deleteOrder(Long orderId);
    void updateOrder(Long orderId,Long quantity);
    List<Shop> showAllShopOfOneCustomer(Customer customer);    
    
    Long createOrderSet(Long customer,Long shop);
    void removeOrderSet(OrderSet orderset);


     
}
